using MediatR;
using RBAC.Domain.Dto.Output;
using RBAC.ErrorCode;

namespace RBAC.Read.Api.Application.Command.ERP.MaterialFile.Department
{
    /// <summary>
    /// 获取部门列表命令
    /// </summary>
    public class GetDepartmentListCommand : IRequest<APIPaging<GetDepartmentListDto>>
    {
        /// <summary>
        /// 页码，默认为1
        /// </summary>
        public int PageIndex { get; set; } = 1;

        /// <summary>
        /// 每页数量，默认为10
        /// </summary>
        public int PageSize { get; set; } = 10;

        /// <summary>
        /// 部门名称，支持模糊查询
        /// </summary>
        public string? DepartmentName { get; set; }

        /// <summary>
        /// 部门状态，用于条件筛选
        /// </summary>
        public int? Status { get; set; }

        /// <summary>
        /// 父部门ID，用于查询子部门
        /// </summary>
        public long? ParentId { get; set; }
    }
}